/*
  自幂数判断
 【问题描述】
    自幂数是指，一个N位数，满足各位数字N次方之和是本身。例如，
      153 是 3位数，其每位数的 3 次方之和，1*1*1 + 5*5*5 + 3*3*3 = 153，
        因此 153 是自幂数；
      1634是 4 位数，其每位数的 4 次方之和，1*1*1*1 + 6*6*6*6 + 3*3*3*3 + 4*4*4*4 = 1634，
        因此 1634 是自幂数。
    现在，输入若干个正整数，请判断它们是否是自幂数。
 【输入描述】
    输入第一行是一个正整数M，表示有M个待判断的正整数。约定 1 ≤ M ≤ 100。
    从第 2 行开始的M行，每行一个待判断的正整数。约定这些正整数均小于 10*10*10*10*10*10*10*10。
 【输出描述】
    输出M行，如果对应的待判断正整数为自幂数，则输出英文大写字母'T'，否则输出英文大写字母'F'。
    提示：不需要等到所有输入结束在依次输出，可以输入一个数就判断一个数并输出，再输入下一个数。
 【样例输入 1】
    3
    152
    111
    153
 【样例输出 1】
    F
    F
    T
 【样例输入 2】
    5
    8208
    548834
    88593477
    12345
    5432
 【样例输出 2】
    T
    T
    T
    F
    F
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;

    cin >> n;
    for (int i = 1; i <= n; i++) {
        int x;
        cin >> x;
        long num = 0;
        int x1 = x;
        int x2 = x;
        int cf = 0;  // 表示整数 x 的位数

        // 计算整数 x 的位数
        while (x1 > 0) {
            cf++;
            x1 = x1 / 10;
        }

        // 计算整数 x 的每个位上的数的 cf 次方之和
        while (x > 0) {
            int z = x % 10;
            x = x / 10;
            num = num + pow(z, cf);
        }
        if (num == x2) {
            cout << "T" << endl;
        } else {
            cout << "F" << endl;
        }
    }

    return 0;
}